package com.qidianit.mes.pojo.pro;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * @Description:
 * @Author: shanzhe
 * @Date: 2025/9/24 - 18:47
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TaskList {
    /**
     * 任务主键ID
     */

    private Long id;

    /**
     * 任务编号 (业务主键)
     */

    private String taskCode;

    /**
     * 任务名称
     */

    private String taskName;

    /**
     * 所属工单ID (关联 production_order.id)
     */

    private Long productionOrderId;

    /**
     * 所属工单编码 (冗余字段, 方便显示)
     */

    private String productionOrderCode;

    /**
     * 所属工序ID (关联 process.id)
     */

    private Long processId;

    private Integer workflowId;

    /**
     * 工作站编号
     */
    @TableField("workstation_code")
    private String workstationCode;

    /**
     * 工作站名称
     */

    private String workstationName;

    /**
     * 排产数量
     */

    private Integer scheduledQuantity;

    /**
     * 已生产数量
     */

    private Integer producedQuantity;

    /**
     * 开始生产时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    /**
     * 生产时长(分钟)
     */

    private Integer productionDuration;

    /**
     * 预计完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime estimatedCompletionTime;

    /**
     * 显示颜色 (用于甘特图等可视化)
     */

    private String displayColor;

    /**
     * 创建时间
     */

    private LocalDateTime createTime;

    /**
     * 更新时间
     */

    private LocalDateTime updateTime;

    /**
     * 删除标识 (0-未删除, 1-已删除)
     */

    private Integer deleteFlag;
}
